Code block grouping and feedback that support efficient retransmissions

ABSTRACT

Methods, systems, and devices for wireless communication are described. A wireless device may transmit feedback, such as hybrid automatic repeat request (HARD) feedback for groups of code blocks rather than for an entire transport block or individual code blocks. The wireless device may transmit an acknowledgement (ACK) or negative-acknowledgement (NACK) to provide feedback for each code block group of a set of code block groups. An ACK may indicate that code blocks in a code block group were successfully decoded, and a NACK may indicate that at least one code block in a code block group was not successfully decoded. Wireless devices may support several techniques for grouping code blocks for feedback reporting to allow for efficient retransmissions and limited overhead. Different grouping schemes may be employed depending on system constraints, device capability, link conditions, or the like.

CROSS REFERENCES

The present Application for Patent is a Continuation of U.S. patentapplication Ser. No. 15/933,110 by SUNDARARAJAN et al., entitled “CODEBLOCK GROUPING AND FEEDBACK THAT SUPPORT EFFICIENT RETRANSMISSIONS”filed Mar. 22, 2018, which claims priority to U.S. Provisional PatentApplication No. 62/476,673 by SUNDARARAJAN, et al., entitled “CODE BLOCKGROUPING AND FEEDBACK THAT SUPPORT EFFICIENT RETRANSMISSIONS” filed Mar.24, 2017, assigned to the assignee hereof, and expressly incorporatedherein.

BACKGROUND

The following relates generally to wireless communication and morespecifically to code block grouping and feedback that support efficientretransmissions.

Wireless communications systems are widely deployed to provide varioustypes of communication content such as voice, video, packet data,messaging, broadcast, and so on. These systems may be capable ofsupporting communication with multiple users by sharing the availablesystem resources (e.g., time, frequency, and power). Examples of suchmultiple-access systems include code division multiple access (CDMA)systems, time division multiple access (TDMA) systems, frequencydivision multiple access (FDMA) systems, and orthogonal frequencydivision multiple access (OFDMA) systems, (e.g., a Long Term Evolution(LTE) system, or a New Radio (NR) system). A wireless multiple-accesscommunications system may include a number of base stations or accessnetwork nodes, each simultaneously supporting communication for multiplecommunication devices, which may be otherwise known as user equipment(UE).

In some wireless communications systems, a wireless device may transmitdata to a receiving device in the form of transport blocks. Thereceiving device may decode the transport blocks to identify the dataincluded. A transport block may include several code blocks (e.g.,transport blocks may include a few code blocks, tens of code blocks, afew hundred code blocks, etc.). In some examples, the receiving devicemay not be able to successfully decode all the code blocks in thetransport block. Inefficient techniques for reporting feedback aboutcode blocks successfully decoded may result in additional overhead in awireless communications system.

SUMMARY

Some wireless communications systems may support the use of feedback,such as hybrid automatic repeat request (HARQ) feedback, to indicatewhether data received from a wireless device was successfully decoded. Awireless device may transmit HARQ feedback for groups of code blocksrather than for an entire transport block or individual code blocks. Forexample, the wireless device may transmit an acknowledgement (ACK) ornegative-acknowledgement (NACK) to provide feedback for each code blockgroup of a set of code block groups. An ACK may indicate that codeblocks in a code block group were successfully decoded, and a NACK mayindicate that at least one code block in a code block group was notsuccessfully decoded. Wireless devices may support several techniquesfor grouping code blocks for feedback reporting.

As an example, a wireless device may group code blocks intonon-overlapping code block groups or overlapping code block groups. Thegrouping may be logical—i.e., feedback may be provided for several codeblocks, and the grouping represented by the feedback may be differentfrom a physical arrangement, transmission time, reception time, or thelike, for the code bocks. The use of non-overlapping code block groupsfor feedback reporting may limit overhead in a wireless communicationssystem since a wireless device may transmit less detailed feedback.However, in some cases, the transmission of less detailed feedback mayresult in additional unnecessary retransmissions of code blocks.Alternatively, the use of overlapping code block groups for feedbackreporting may allow for more detailed feedback, which may optimizeretransmissions of code blocks. However, the transmission of moredetailed feedback may result in high overhead, in some cases. A wirelessdevice may support efficient techniques for selecting a method ofgrouping code blocks for feedback reporting in order to limit overheadand unnecessary retransmissions in a wireless communications system.

A method of wireless communication is described. The method may includereceiving one or more transport blocks that comprise a plurality of codeblocks, receiving an indication to group code blocks of the plurality ofcode blocks for feedback reporting, wherein a first set of code blocksof the plurality of code blocks are grouped into one or more code blockgroups of a first size, and a second set of code blocks of the pluralityof code blocks are grouped into one or more code block groups of asecond size, and transmitting an acknowledgement ornegative-acknowledgement for each code block group based at least inpart on the indication.

An apparatus for wireless communication is described. The apparatus mayinclude means for receiving one or more transport blocks that comprise aplurality of code blocks, means for receiving an indication to groupcode blocks of the plurality of code blocks for feedback reporting,wherein a first set of code blocks of the plurality of code blocks aregrouped into one or more code block groups of a first size, and a secondset of code blocks of the plurality of code blocks are grouped into oneor more code block groups of a second size, and means for transmittingan acknowledgement or negative-acknowledgement for each code block groupbased at least in part on the indication.

Another apparatus for wireless communication is described. The apparatusmay include a processor, memory in electronic communication with theprocessor, and instructions stored in the memory. The instructions maybe operable to cause the processor to receive one or more transportblocks that comprise a plurality of code blocks, receive an indicationto group code blocks of the plurality of code blocks for feedbackreporting, wherein a first set of code blocks of the plurality of codeblocks are grouped into one or more code block groups of a first size,and a second set of code blocks of the plurality of code blocks aregrouped into one or more code block groups of a second size, andtransmit an acknowledgement or negative-acknowledgement for each codeblock group based at least in part on the indication.

A non-transitory computer-readable medium for wireless communication isdescribed. The non-transitory computer-readable medium may includeinstructions operable to cause a processor to receive one or moretransport blocks that comprise a plurality of code blocks, receive anindication to group code blocks of the plurality of code blocks forfeedback reporting, wherein a first set of code blocks of the pluralityof code blocks are grouped into one or more code block groups of a firstsize, and a second set of code blocks of the plurality of code blocksare grouped into one or more code block groups of a second size, andtransmit an acknowledgement or negative-acknowledgement for each codeblock group based at least in part on the indication.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, the acknowledgement indicatesthat code blocks within a code block group were successfully decoded. Insome examples of the method, apparatus, and non-transitorycomputer-readable medium described above, the negative-acknowledgementindicates that at least one code block in a code block group was notsuccessfully decoded.

Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for identifying that each code blockgroup comprises a distinct subset of code blocks of the plurality ofcode blocks based at least in part on the indication.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, each code block groupcomprises a same number of code blocks.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, each code block group of theor more code blocks of the first size comprises a same number of codeblocks. In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, the second set of code blockscomprises a remaining set of code blocks that may be distributed to onecode block group of the second size.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, the one or more code blockgroups of the first size comprise a first plurality of code block groupsof the first size. In some examples of the method, apparatus, andnon-transitory computer-readable medium described above, the one or morecode block groups of the second size comprise a second plurality of codeblock groups of the second size.

Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for receiving an indication of a numberof code block groups to be formed, wherein code blocks of the pluralityof code blocks may be grouped based at least in part on the indicationof the number of code block groups to be formed.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, adjacent sets of two or morecode blocks of the plurality of code blocks may be within a same codeblock group.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, the adjacent sets of two ormore code blocks of the plurality of code blocks may be adjacent in atime domain or a frequency domain.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, a code block group comprisesmultiple code block groups.

Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for identifying a grouping of the codeblocks of the plurality of code blocks based at least in part on a typeof service associated with the one or more transport blocks, or amodulation and coding scheme (MCS) used to transmit the one or moretransport blocks, or a combination thereof.

A method of wireless communication is described. The method may includereceiving one or more transport blocks that comprise a plurality of codeblocks, receiving an indication to group code blocks of the plurality ofcode blocks for feedback reporting, wherein at least one of the codeblocks of the plurality of code blocks is included in two or more codeblock groups of a plurality of code block groups, and transmitting anacknowledgement or negative-acknowledgement for each code block groupbased at least in part on the indication.

An apparatus for wireless communication is described. The apparatus mayinclude means for receiving one or more transport blocks that comprise aplurality of code blocks, means for receiving an indication to groupcode blocks of the plurality of code blocks for feedback reporting,wherein at least one of the code blocks of the plurality of code blocksis included in two or more code block groups of a plurality of codeblock groups, and means for transmitting an acknowledgement ornegative-acknowledgement for each code block group based at least inpart on the indication.

Another apparatus for wireless communication is described. The apparatusmay include a processor, memory in electronic communication with theprocessor, and instructions stored in the memory. The instructions maybe operable to cause the processor to receive one or more transportblocks that comprise a plurality of code blocks, receive an indicationto group code blocks of the plurality of code blocks for feedbackreporting, wherein at least one of the code blocks of the plurality ofcode blocks is included in two or more code block groups of a pluralityof code block groups, and transmit an acknowledgement ornegative-acknowledgement for each code block group based at least inpart on the indication.

A non-transitory computer-readable medium for wireless communication isdescribed. The non-transitory computer-readable medium may includeinstructions operable to cause a processor to receive one or moretransport blocks that comprise a plurality of code blocks, receive anindication to group code blocks of the plurality of code blocks forfeedback reporting, wherein at least one of the code blocks of theplurality of code blocks is included in two or more code block groups ofa plurality of code block groups, and transmit an acknowledgement ornegative-acknowledgement for each code block group based at least inpart on the indication.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, the acknowledgement indicatesthat code blocks within a code block group were successfully decoded. Insome examples of the method, apparatus, and non-transitorycomputer-readable medium described above, the negative-acknowledgementindicates that at least one code block in a code block group was notsuccessfully decoded.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, the plurality of code blocksmay be grouped into a first plurality of code block groups. In someexamples of the method, apparatus, and non-transitory computer-readablemedium described above, the plurality of code blocks may be grouped intoa second plurality of code block groups, wherein each code block groupof the second plurality of code block groups comprises a code block fromeach of the first plurality of code block groups.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, each code block of theplurality of code blocks may be distributed to a different combinationof code block groups.

Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for receiving an indication of a numberof code block groups to be formed, wherein code blocks of the pluralityof code blocks may be grouped based at least in part on the indicationof the number of code block groups to be formed.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, adjacent sets of two or morecode blocks of the plurality of code blocks may be within a same codeblock group.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, a code block group comprisesmultiple code block groups.

Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for identifying a grouping of the codeblocks of the plurality of code blocks based at least in part on a typeof service associated with the one or more transport blocks, or amodulation and coding scheme (MCS) used to transmit the one or moretransport blocks, or a combination thereof.

A method of wireless communication is described. The method may includetransmitting one or more transport blocks that comprise a plurality ofcode blocks, transmitting an indication to group code blocks of theplurality of code blocks for feedback reporting, wherein a first set ofcode blocks of the plurality of code blocks are grouped into one or morecode block groups of a first size, and a second set of code blocks ofthe plurality of code blocks are grouped into one or more code blockgroups of a second size, and receiving an acknowledgement ornegative-acknowledgement for each code block group based at least inpart on the indication.

An apparatus for wireless communication is described. The apparatus mayinclude means for transmitting one or more transport blocks thatcomprise a plurality of code blocks, means for transmitting anindication to group code blocks of the plurality of code blocks forfeedback reporting, wherein a first set of code blocks of the pluralityof code blocks are grouped into one or more code block groups of a firstsize, and a second set of code blocks of the plurality of code blocksare grouped into one or more code block groups of a second size, andmeans for receiving an acknowledgement or negative-acknowledgement foreach code block group based at least in part on the indication.

Another apparatus for wireless communication is described. The apparatusmay include a processor, memory in electronic communication with theprocessor, and instructions stored in the memory. The instructions maybe operable to cause the processor to transmit one or more transportblocks that comprise a plurality of code blocks, transmit an indicationto group code blocks of the plurality of code blocks for feedbackreporting, wherein a first set of code blocks of the plurality of codeblocks are grouped into one or more code block groups of a first size,and a second set of code blocks of the plurality of code blocks aregrouped into one or more code block groups of a second size, and receivean acknowledgement or negative-acknowledgement for each code block groupbased at least in part on the indication.

A non-transitory computer-readable medium for wireless communication isdescribed. The non-transitory computer-readable medium may includeinstructions operable to cause a processor to transmit one or moretransport blocks that comprise a plurality of code blocks, transmit anindication to group code blocks of the plurality of code blocks forfeedback reporting, wherein a first set of code blocks of the pluralityof code blocks are grouped into one or more code block groups of a firstsize, and a second set of code blocks of the plurality of code blocksare grouped into one or more code block groups of a second size, andreceive an acknowledgement or negative-acknowledgement for each codeblock group based at least in part on the indication.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, each code block groupcomprises a distinct subset of code blocks of the plurality of codeblocks.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, each code block groupcomprises a same number of code blocks.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, each code block group of theone or more code block groups of the first size comprises a same numberof code blocks. In some examples of the method, apparatus, andnon-transitory computer-readable medium described above, the second setof code blocks comprises a remaining set of code blocks that may bedistributed to one code block group of the second size.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, the one or more code blockgroups of the first size comprise a first plurality of code block groupsof the first size. In some examples of the method, apparatus, andnon-transitory computer-readable medium described above, the one or morecode block groups of the second size comprise a second plurality of codeblock groups of the second size.

Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for determining one or more code blocksfor retransmission based at least in part on the indication and thereceived acknowledgement or negative-acknowledgement for each code blockgroup. Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for retransmitting the one or more codeblocks based at least in part on the determination.

A method of wireless communication is described. The method may includetransmitting one or more transport blocks that comprise a plurality ofcode blocks, transmitting an indication to group code blocks of theplurality of code blocks for feedback reporting, wherein at least one ofthe code blocks of the plurality of code blocks is included in two ormore code block groups of a plurality of code block groups, andreceiving an acknowledgement or negative-acknowledgement for each codeblock group based at least in part on the indication.

An apparatus for wireless communication is described. The apparatus mayinclude means for transmitting one or more transport blocks thatcomprise a plurality of code blocks, means for transmitting anindication to group code blocks of the plurality of code blocks forfeedback reporting, wherein at least one of the code blocks of theplurality of code blocks is included in two or more code block groups ofa plurality of code block groups, and means for receiving anacknowledgement or negative-acknowledgement for each code block groupbased at least in part on the indication.

Another apparatus for wireless communication is described. The apparatusmay include a processor, memory in electronic communication with theprocessor, and instructions stored in the memory. The instructions maybe operable to cause the processor to transmit one or more transportblocks that comprise a plurality of code blocks, transmit an indicationto group code blocks of the plurality of code blocks for feedbackreporting, wherein at least one of the code blocks of the plurality ofcode blocks is included in two or more code block groups of a pluralityof code block groups, and receive an acknowledgement ornegative-acknowledgement for each code block group based at least inpart on the indication.

A non-transitory computer-readable medium for wireless communication isdescribed. The non-transitory computer-readable medium may includeinstructions operable to cause a processor to transmit one or moretransport blocks that comprise a plurality of code blocks, transmit anindication to group code blocks of the plurality of code blocks forfeedback reporting, wherein at least one of the code blocks of theplurality of code blocks is included in two or more code block groups ofa plurality of code block groups, and receive an acknowledgement ornegative-acknowledgement for each code block group based at least inpart on the indication.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, the plurality of code blocksmay be grouped into a first plurality of code block groups. In someexamples of the method, apparatus, and non-transitory computer-readablemedium described above, the plurality of code blocks may be grouped intoa second plurality of code block groups, wherein each code block groupof the second plurality of code block groups comprises a code block fromeach of the first plurality of code block groups.

In some examples of the method, apparatus, and non-transitorycomputer-readable medium described above, each code block of theplurality of code blocks may be distributed to a different combinationof code block groups.

Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for transmitting an indication of anumber of code block groups to be formed, wherein code blocks of theplurality of code blocks may be grouped based at least in part on theindication of the number of code block groups to be formed.

Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for determining one or more code blocksfor retransmission based at least in part on the indication and thereceived acknowledgement or negative-acknowledgement for each code blockgroup. Some examples of the method, apparatus, and non-transitorycomputer-readable medium described above may further include processes,features, means, or instructions for retransmitting the one or more codeblocks based at least in part on the determination.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example of a wireless communications system thatsupports code block grouping and feedback that support efficientretransmissions in accordance with various aspects of the presentdisclosure;

FIG. 2 illustrates an example of a wireless communications system thatsupports code block grouping and feedback that support efficientretransmissions in accordance with various aspects of the presentdisclosure;

FIGS. 3-4 illustrate example transmissions of code blocks in accordancewith various aspects of the present disclosure;

FIGS. 5-6 illustrate examples of process flows that support code blockgrouping and feedback that support efficient retransmissions inaccordance with various aspects of the present disclosure;

FIGS. 7-9 show block diagrams of a device or devices that support codeblock grouping and feedback that support efficient retransmissions inaccordance with various aspects of the present disclosure;

FIG. 10 illustrates a block diagram of a system including a device, suchas a user equipment, that supports code block grouping and feedback thatsupport efficient retransmissions in accordance with various aspects ofthe present disclosure;

FIGS. 11-13 show block diagrams of a device or devices that support codeblock grouping and feedback that support efficient retransmissions inaccordance with various aspects of the present disclosure;

FIG. 14 illustrates a block diagram of a system including a device, suchas a base station, that supports code block grouping and feedback thatsupport efficient retransmissions in accordance with various aspects ofthe present disclosure; and

FIGS. 15-18 illustrate methods for code block grouping methods thatsupport efficient retransmissions in accordance with various aspects ofthe present disclosure.

DETAILED DESCRIPTION

A wireless device may transmit feedback, such as hybrid automatic repeatrequest (HARD) feedback, for groups of code blocks rather than for anentire transport block or individual code blocks. The wireless devicemay transmit an acknowledgement (ACK) or negative-acknowledgement (NACK)to provide feedback for each code block group of a set of code blockgroups.

By way of example, in some wireless communications systems, a wirelessdevice may transmit data in the form of transport blocks that mayinclude multiple code blocks. In some cases, a receiving device maytransmit an ACK or NACK to indicate whether a transport block or anindividual code block was successfully received and decoded. In theevent that the receiving device is unable to successfully decode asubset of code blocks in the transport block, the transmission ofACK/NACK feedback for an entire transport block may result inunnecessary retransmissions. Further, the transmission of ACK/NACKfeedback for individual code blocks may result in high overhead.Efficient techniques for grouping code blocks for feedback reporting maybe desirable to limit overhead and unnecessary retransmissions of codeblocks in a wireless communications system.

As described herein, a wireless communications system may supportefficient techniques for grouping code blocks of a transmission forfeedback reporting. In some cases, a wireless device may group codeblocks into non-overlapping code block groups, where each code blockgroup includes a distinct subset of code blocks. In other cases, awireless device may group code blocks into overlapping code blockgroups, where at least two (2) code block groups include a common codeblock. A wireless device may determine a method for grouping code blocksbased on several factors in order to limit overhead and reduce thenumber of unnecessary retransmissions. For example, the wireless devicemay group code blocks based on a type of service associated with thetransmission of the code blocks (e.g., a low latency service, a highreliability service, or a low latency high reliability service), theprobability that code blocks of the transmission may be decodedsuccessfully, channel conditions, etc.

Aspects of the disclosure introduced above are described below in thecontext of a wireless communications system. Examples of processes andsignaling exchanges that support code block grouping methods thatsupport efficient retransmissions are then described. Aspects of thedisclosure are further illustrated by and described with reference toapparatus diagrams, system diagrams, and flowcharts that relate to codeblock grouping methods that support efficient retransmissions.

FIG. 1 illustrates an example of a wireless communications system 100that supports code block grouping and feedback that support efficientretransmissions in accordance with various aspects of the presentdisclosure. The wireless communications system 100 includes basestations 105, UEs 115, and a core network 130. In some examples, thewireless communications system 100 may be a Long Term Evolution (LTE), aLTE-Advanced (LTE-A) network, or a New Radio (NR) network. In somecases, wireless communications system 100 may support mobile broadband(MBB) communications, ultra-reliable (i.e., mission critical)communications, low latency communications, and communications withlow-cost and low-complexity devices (e.g., machine-type communication(MTC) devices).

Base stations 105 may wirelessly communicate with UEs 115 via one ormore base station antennas. Each base station 105 may providecommunication coverage for a respective geographic coverage area 110.Communication links 125 shown in wireless communications system 100 mayinclude uplink transmissions from a UE 115 to a base station 105, ordownlink transmissions, from a base station 105 to a UE 115. Controlinformation and data may be multiplexed on an uplink or downlink channelaccording to various techniques. Control information and data may bemultiplexed on a downlink channel, for example, using time divisionmultiplexing (TDM) techniques, frequency division multiplexing (FDM)techniques, or hybrid TDM-FDM techniques. In some examples, the controlinformation transmitted during a transmission time interval (TTI) of adownlink channel may be distributed between different control regions ina cascaded manner (e.g., between a common control region and one or moreUE-specific control regions).

UEs 115 may be dispersed throughout the wireless communications system100, and each UE 115 may be stationary or mobile. A UE 115 may also bereferred to as a mobile station, a subscriber station, a mobile unit, asubscriber unit, a wireless unit, a remote unit, a mobile device, awireless device, a wireless communications device, a remote device, amobile subscriber station, an access terminal, a mobile terminal, awireless terminal, a remote terminal, a handset, a user agent, a mobileclient, a client, or some other suitable terminology. A UE 115 may be acellular phone, a personal digital assistant (PDA), a wireless modem, awireless communication device, a handheld device, a tablet computer, alaptop computer, a cordless phone, a personal electronic device, ahandheld device, a personal computer, a wireless local loop (WLL)station, an Internet of Things (IoT) device, an Internet of Everything(IoE) device, a machine type communication (MTC) device, an appliance,an automobile, an automobile component, a train, a train component, orthe like.

Base stations 105 may communicate with the core network 130 and with oneanother. For example, base stations 105 may interface with the corenetwork 130 through backhaul links 132 (e.g., S1, etc.). Base stations105 may communicate with one another over backhaul links 134 (e.g., X2,etc.) either directly or indirectly (e.g., through core network 130).Base stations 105 may perform radio configuration and scheduling forcommunication with UEs 115, or may operate under the control of a basestation controller (not shown). In some examples, base stations 105 maybe macro cells, small cells, hot spots, or the like. Base stations 105may also be referred to as evolved NodeBs (eNBs) 105.

A base station 105 may be connected by an S1 interface to the corenetwork 130. The core network may be an evolved packet core (EPC), whichmay include at least one mobility management entity (MME), at least oneserving gateway (S-GW), and at least one Packet Data Network (PDN)gateway (P-GW). The MME may be the control node that processes thesignaling between the UE 115 and the EPC. All user Internet Protocol(IP) packets may be transferred through the S-GW, which itself may beconnected to the P-GW. The P-GW may provide IP address allocation aswell as other functions. The P-GW may be connected to the networkoperators IP services. The operators IP services may include theInternet, the Intranet, an IP Multimedia Subsystem (IMS), and aPacket-Switched (PS) Streaming Service.

In some cases, wireless communications system 100 may be a packet-basednetwork that operates according to a layered protocol stack. In the userplane, communications at the bearer or Packet Data Convergence Protocol(PDCP) layer may be IP-based. A Radio Link Control (RLC) layer may insome cases perform packet segmentation and reassembly to communicateover logical channels. A Medium Access Control (MAC) layer may performpriority handling and multiplexing of logical channels into transportchannels. The MAC layer may also use hybrid automatic repeat request(HARQ) to provide retransmission at the MAC layer to improve linkefficiency. In the control plane, the Radio Resource Control (RRC)protocol layer may provide establishment, configuration, and maintenanceof an RRC connection between a UE 115 and a base station 105 (or networkdevice), or core network 130 supporting radio bearers for user planedata. At the Physical (PHY) layer, transport channels may be mapped tophysical channels.

In some cases, UEs 115 and base stations 105 may support retransmissionsof data to increase the chances that data is received successfully. HARQfeedback is one technique of increasing the likelihood that data isreceived correctly over a wireless communication link 125. HARQ mayinclude a combination of error detection techniques (e.g., using acyclic redundancy check (CRC)), forward error correction (FEC), andretransmission (e.g., automatic repeat request (ARQ)). HARQ may improvethroughput at the MAC layer in poor radio conditions (e.g.,signal-to-noise conditions). A UE 115 may transmit an ACK to a basestation 105 to indicate that a transmission from the base station 105was successfully decoded, and the UE 115 may transmit a NACK to the basestation 105 to indicate that a transmission from the base station 105was not successfully decoded. Similarly, a base station 105 may transmitan ACK to a UE 115 to indicate that a transmission from the UE 115 wassuccessfully decoded, and the base station 105 may transmit a NACK tothe UE 115 to indicate that a transmission from the UE 115 was notsuccessfully decoded.

In wireless communications system 100, a UE 115 or base station 105 mayreceive data in the form of transport blocks from a UE 115 or basestation 105. The transport block may be segmented into a number of codeblocks of different or equal sizes. In some cases, a wireless device maytransmit an ACK or NACK for the transport block to indicate whether theentire transport block was successfully decoded. In such cases, however,although the wireless device may not have been able to successfullydecode some code blocks of the transport block, the wireless device mayhave been able to successfully decode other code blocks of the transportblock. As such, the transmission of a NACK may result in unnecessaryretransmissions of some code blocks of the transport block. In othercases, a wireless device may transmit an ACK or NACK for each code blockincluded in a transport block. However, the transmission of an ACK orNACK for each code block of a transport block may result in highoverhead (e.g., when the transport block includes a large number of codeblocks).

To limit overhead and reduce the number of unnecessary retransmissionsin a wireless communications system, wireless devices may transmit HARQfeedback (e.g., ACK or NACK) for a group of code blocks rather than foran entire transport block or for individual code blocks. However, ifcode blocks are grouped inefficiently, the wireless communicationssystem may still experience high overhead and a large number ofunnecessary retransmissions. For example, if the number of code blockgroups is much lower than the number of code blocks transmitted, theoverhead associated with ACK/NACK transmissions may be low. However,because the feedback is limited, a transmitting device may not be ableto identify code blocks that were not successfully decoded. As such, thetransmitting device may retransmit code blocks that were already decodedby a receiving device. Alternatively, if the number of code block groupsis slightly less than the number of code blocks transmitted, theoverhead of ACK/NACK transmissions may be high.

Wireless communications system 100 may support efficient techniques forgrouping code blocks into code block groups for feedback reporting tolimit overhead and unnecessary retransmissions. A base station 105 maytransmit an indication to a UE 115 instructing the UE 115 to group codeblocks for feedback reporting, or the base station 105 may transmit anindication to the UE 115 that code blocks received from the UE 115 weregrouped for feedback purposes. In some cases, code blocks may be groupedinto code block groups that do not overlap, and, in other cases, codeblocks may be grouped into code block groups that do overlap to someextent, for instance, where two code block groups share a common codeblock. In other cases, a wireless device may group a portion of codeblocks of a transport block into code block groups that overlap, and thewireless device may group another portion of code blocks of thetransport block into code block groups that do not overlap. The methodused to group code blocks of a transmission for feedback reporting maybe selected (e.g., dynamically) based on several factors to limitoverhead and reduce unnecessary retransmissions.

FIG. 2 illustrates an example of a wireless communications system 200that supports code block grouping methods that support efficientretransmissions in accordance with various aspects of the presentdisclosure. Wireless communications system 200 includes base station105-a and UE 115-a, which may be examples of a base station 105 and a UE115 described with reference to FIGS. 1, 5, and 6. Base station 105-aprovides communication coverage for coverage area 110-a. Base station105-a may communicate with UE 115-a on resources of a carrier 205.Wireless communications system 200 may support efficient techniques forgrouping code blocks for feedback reporting. In some cases, wirelesscommunications system 200 may operate in mmW spectrum.

Base station 105-a and UE 115-a may group code blocks to limit overheadand reduce the number of unnecessary retransmissions in wirelesscommunications system 200, based on various factors. In some cases, basestation 105-a and UE 115-a may group code blocks for feedback reportingbased on a service associated with the transmission of the code blocks.For example, base station 105-a and UE 115-a may identify a potentiallydifferent method for grouping code blocks based on determining if thetransmission of the code blocks is associated with low latencycommunications, MBB communications, MTC communications, etc. In somecases, UE 115-a may be semi-statically or statically configured with aset of code block grouping mechanisms for each service type, and UE115-a may identify which code block grouping mechanism in the set to usebased on an indication from base station 105-a.

Additionally or alternatively, base station 105-a and UE 115-a may groupcode blocks for feedback reporting based on a target error rate fordecoding code blocks. The target error rate may depend on a modulationand coding scheme (MCS) used to transmit the code blocks, rate controlloop parameters, etc. Base station 105-a and UE 115-a may also groupcode blocks for feedback reporting based on channel conditions. Forexample, a wireless device may determine that an MCS selection may notbe accurate for certain channel conditions (e.g., a high Dopplerenvironment), and, in such cases, the wireless device may group codeblocks to allow for more detailed feedback.

Base station 105-a and UE 115-a may support several methods of groupingcode blocks for feedback reporting based on the above factors. Asdescribed with reference to FIG. 1, a base station 105-a and a UE 115-amay support techniques for grouping code blocks into code block groupssuch that none of the code block groups overlap. Specifically, the codeblock groups formed may each include distinct subsets of code blocks ofone or more transport blocks. Alternatively, base station 105-a and UE115-a may support techniques for grouping code blocks into code blockgroups such that at least two (2) code block groups overlap.Specifically, at least two (2) code block groups may include a same codeblock.

The use of non-overlapping code block groups may help to limit overheadsince the number of ACK/NACK messages transmitted for one or moretransport blocks may be low. However, this technique may result inseveral unnecessary retransmissions of code blocks since the feedbackmay not be detailed. Alternatively, the use of overlapping code blockgroups may help to limit unnecessary retransmissions since the feedbackreported in this case may be detailed. Specifically, the overlap mayallow information about the decoding status of a code block to beincorporated into more than one ACK/NACK bit, since the code block maybe a part of more than one code block group. However, this technique mayresult in high overhead. Base station 105-a and UE 115-a may supporttechniques for statically or dynamically selecting whether to formnon-overlapping or overlapping code block groups, and may be able toconsider the trade-offs of using either technique to ensure efficienttransmission of ACK/NACK feedback.

FIG. 3 illustrates an example of a transmission of code blocks 300 inaccordance with various aspects of the present disclosure. Although theexample of FIG. 3 is described for a downlink transmission, it is to beunderstood that the techniques described also apply to uplinkcommunication. In some cases, transmission of code blocks 300 may beperformed by a base station or a UE, which may be examples of a basestation 105 and a UE 115, as described with reference to FIGS. 1 and 2.

A base station may transmit data in the form of a transport block 305 toa UE. The transport block may include a number of code blocks 310 fordecoding. The base station may also transmit an indication to group codeblocks 310 of the transport block 305 into code block groups forfeedback reporting. That is, the base station may indicate that the UEshould transmit HARQ feedback (i.e., ACK/NACK feedback) for code blockgroups rather than for the entire transport block 305 or for individualcode blocks 310 of the transmission. In some cases, at least one of thecode blocks of the plurality of code blocks 310 may be included in twoor more code block groups (i.e., overlapping code block groups).

The indication to group the code blocks may include an indication of thenumber of code block groups to be formed. The UE may then group codeblocks of the transmission based on the indicated number of code blockgroups to be formed and a number of code blocks included in thetransmission. In some cases, the base station may identify a probabilityof decoding each code block of the transmission, and the base stationmay indicate to the UE how to group code blocks of the transmissionbased on this probability. For example, if the probability of decodingcode blocks of the transmission is high, the base station may formnon-overlapping code block groups for feedback reporting to provide lessdetailed feedback and limit overhead. Alternatively, if the probabilityof decoding code blocks of a transmission is low, the base station mayform overlapping code block groups to provide more detailed feedback andlimit unnecessary retransmissions.

The UE may support several techniques for forming non-overlapping codeblock groups for feedback reporting. In some cases, if the number ofcode blocks included in a transmission is an integer multiple of anumber of code block groups to be formed, a UE may form code blockgroups of the same size. However, if the number of code blocks includedin a transmission is not an integer multiple of a number of code blockgroups to be formed, the code block groups formed may not all be of thesame size. In one example, the UE may group a first number of codeblocks into equally sized groups, and the UE may distribute a remainingnumber of code blocks to one of the code block groups (e.g., a last codeblock group).

An exemplary scheme to group code blocks is shown in Equations 1 and 2below:

$\begin{matrix}{K = \left\lfloor \frac{M}{N} \right\rfloor} & (1) \\{R = {M - {\left( {N - 1} \right)K}}} & (2)\end{matrix}$

where M is the number of code blocks in a transmission, N is the numberof code block groups to be formed, K is the number of code blocksinitially distributed to each code block group, and R is the remainingnumber of code blocks distributed to code block N. As an example, if M=8and N=3, then K=2 and the code blocks are initially grouped into groupsof two (2) to produce the following code block groups: {1, 2}, {3, 4},{5, 6}. The remaining number of code blocks is then calculated to be two(2) based on equation 2 above, and the remaining two (2) code blocks aredistributed to code block group N such that the resulting code blockgroups are as follows: {1, 2}, {3, 4}, {5, 6, 7, 8}.

In another example, the UE may group a first number of code blocks intoa first number of code block groups of one size, and the UE may group asecond number of code blocks into a second number of code block groupsof another size. Another exemplary scheme for distributing code blocksis shown in Equations 3, 4, and 5 below:

$\begin{matrix}{K = \left\lfloor \frac{M}{N} \right\rfloor} & (3) \\{{{First}\mspace{14mu}{Number}\mspace{14mu}{of}\mspace{14mu}{Code}\mspace{14mu}{Block}\mspace{14mu}{Groups}} = {N - \left( {M - {NK}} \right)}} & (4) \\{{{Second}\mspace{14mu}{Number}\mspace{14mu}{of}\mspace{14mu}{Code}\mspace{14mu}{Block}\mspace{14mu}{Groups}} = {M - {NK}}} & (5)\end{matrix}$

where M is the number of code blocks in a transmission, N is the numberof code block groups to be formed, K is a number of code blocks to beincluded in a first number of code block groups of a first size, and K+1is a number of code blocks to be included in a second number of codeblock groups of a second size. As an example, if M=8 and N=3, then K=2,a first number of code block groups=1, and a second number of code blockgroups=2. Accordingly, two (2) code blocks are included in a first codeblock group and three (3) code blocks are included in the second andthird code block groups such that the resulting code block groups are asfollows: {1, 2}, {3, 4, 5}, and {6, 7, 8}.

The UE may also support several techniques for forming overlapping codeblock groups for feedback reporting. For instance, a UE may form a firstset of code block groups including the code blocks 310 of transportblock 305, and the UE may form a second set of code block groupsincluding the code blocks 310 of transport block 305. Each code blockgroup of the second set may include one transport block from each of thecode block groups of the first set. An example of the arrangement ofcode block groups is illustrated in code block grouping grid 315. Inthis arrangement, code blocks 310 are arranged in an L×L grid, where

M=L² and N=2L   (6)

Thus, code block groups 320 are formed from the rows and columns of thegrid. As an example, if M=8 and N=6, then L=3, and the resulting codeblock groups are as follows: {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {1, 4, 7},{2, 5, 8}, and {3, 6, 9}.

The techniques described above may also be applicable for grouping a setof code blocks in a grid where a number of columns of the grid is notequal to a number of rows of the grid. In addition, the techniquesdescribed above may be generalized to use a grid arrangement in three(3) or more dimensions. As an example, M=125 code blocks may be arrangedinto five (5) layers, where each layer has a 5×5 grid of code blocks.Each code block group may then correspond to the 25 code blocks in each5×5 slice in each of the three dimensions, resulting in 15 groups.Alternatively, each code block group may correspond to the five (5) codeblocks in the same row and same layer, or the same column and samelayer, or the same row and same column.

In another example, a UE may identify combinations of code block groups,and the UE may distribute each code block received from a base stationto a distinct combination of code block groups. This may be applicableif the number of combinations of code block groups (e.g., combinationsof a predetermined size) equals, or exceeds the number of code blocks ina transmission. That is, such grouping may be employed for combinationsof code block groups that satisfy, for example, the following equation:

$\begin{matrix}{{M \leq {N\mspace{14mu}{choose}\mspace{14mu} R}} = \frac{N!}{R{!{\left( {N - R} \right)!}}}} & (7)\end{matrix}$

where M is a number of code blocks of a transmission, N is a number ofcode blocks to be formed, and R is the size of each combination. Eachcode block of the transmission may be included in R code block groupswhere the j^(th) code block may be assigned to the j^(th) combination ofcode block groups (e.g., code block 1 may be assigned to a firstcombination of code block groups). As such, the number of code blocks ineach code block group may be determined based on the following equation:

$\begin{matrix}{{{Number}\mspace{20mu}{of}\mspace{14mu}{code}\mspace{14mu}{blocks}\mspace{14mu}{in}\mspace{14mu}{each}\mspace{14mu}{group}} = {\frac{MR}{N} = \left( {N - {1\mspace{14mu}{choose}\mspace{14mu} R} - 1} \right)}} & (8)\end{matrix}$

As an example, if M=6, N=4, and R=2, the different combinations of codeblock groups may be as follows:{Group 1, Group 2}, {Group 1, Group 3},{Group 1, Group 4}, { Group 2, Group 3}, { Group 2, Group 4}, and {Group 3, Group 4}. Accordingly, code block 1 may be assigned to codeblock groups 1 and 2, code block 2 may be assigned to code block groups1 and 3, code block 3 may be assigned to code block groups 1 and 4, etc.The resulting code block groups are as follows: {1, 2, 3}, {1, 4, 5},{2, 4, 6}, and {3, 5, 6}.

The examples and grouping schemes described herein provide options forgrouping code blocks for feedback reporting, and the dynamic selectionof a method or grouping scheme may allow a wireless device to limitoverhead and unnecessary retransmissions. Although the schemes aredescribed herein individually, it is to be understood that a combinationof the methods and schemes may be applied for grouping a number of codeblocks (M) received from a base station into a number of code blockgroups (N). That is, a UE may apply one method or scheme to a firstsubset (M₁) of a set of code blocks and another method or scheme to asecond subset (M₂) of a set of code blocks, where M=M₁+M₂. In suchcases, the UE may form a first subset of code block groups (N₁) and asecond subset of code block groups (N₂), where N=N₁+N₂.

As an example, a UE may receive 15 code blocks (i.e., M=15) to begrouped into 10 code block groups (i.e., N=10). In such cases, the UEmay apply one method to nine (9) of the 15 code blocks (i.e., M₁=9),grouping the nine (9) code blocks into six (6) code block groups (i.e.,N₁=6). The UE may then apply another method to six (6) code blocks(i.e., M₂=6), grouping the six (6) code blocks into four (4) code blockgroups (N₂=4). Using these techniques, the resulting code block groupsmay be as follows: {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {1, 4, 7}, {2, 5,8}, {3, 6, 9}, {10, 11, 12}, {10, 13, 14}, {11, 13, 15}, {12, 14, 15}.

Additionally, although the methods and schemes are described herein forgrouping code blocks into code block groups, the above methods may alsoapply to a hierarchical grouping where code block groups (e.g., innergroups) are further grouped into code block groups (e.g., outer groups).In such cases, a UE may report ACK/NACK feedback for the outer groups,and the base station may determine whether or not to retransmit codeblocks of certain inner groups based on the feedback. As an example, aUE may group 18 code blocks into nine (9) groups of two (2) code blockseach, and the UE may then group the nine (9) code block groups into six(6) outer groups using one of the methods for grouping described herein.

As discussed herein, a UE may select a technique or method for groupingcode blocks for feedback reporting or may receive an indication of atechnique or method to use for grouping code blocks for feedbackreporting based on the probability that the code blocks may besuccessfully decoded. The following table provides an indication of anexpected number of retransmissions of code blocks for different methodsof grouping code blocks given a number of code blocks (M), a number ofcode block groups to be formed (N), the probability of each code blockbeing decoded successfully (q), and, in some cases, a parameter L.

TABLE 1 Exemplary retransmissions for different methods of grouping codeblocks Method Exemplary Number of Retransmissions Non-Overlapping M(1 −q^(K)) Equal Sized Groups 2 (K + 1)(M − NK)[1 − q^(K+1)] + K[N − (M −NK)] [1 − q^(K)] 3 M(1 − 2q^(L) + q^(2L−1)), where M = L² and N = 2L 4M(1 − 2q^(L) + q^(2L−1)), where$M = {{\left( {N\mspace{14mu}{choose}\mspace{14mu} R} \right)\mspace{14mu}{and}\mspace{14mu} L} = \frac{MR}{N}}$

Thus, as noted in Table 1, for 100 code blocks, 20 code block groups,and a 90% probability of decoding each code block, the application ofthe non-overlapping or second methods of grouping code blocks describedabove may result in an average number of 40.95 retransmissions, whereasthe application of the third method of grouping code blocks describedabove may result in an average number of 43.77 retransmissions. For 100code blocks, 20 code block groups, and a 99% probability of decodingeach code block, the application of the non-overlapping and secondmethods described above may result in an average number of 4.90retransmissions, whereas the application of the third method of groupingcode blocks described above may result in an average number of 1.74transmissions. Thus, a wireless device may be able to determine aprobability of decoding each code block of a transmission, and thewireless device may identify a method for grouping code blocks based onthis probability. Table 1 is provided for illustrative purposes; otherschemes and determinations of grouping schemes may also be employed.

FIG. 4 illustrates an example of a transmission of code blocks 400 inaccordance with various aspects of the present disclosure. Although theexample of FIG. 4 is described for a downlink transmission, it is to beunderstood that the techniques described also apply to uplinkcommunication. In some cases, transmission of code blocks 300 may beperformed by a base station or a UE, which may be examples of a basestation 105 and a UE 115, as described with reference to FIGS. 1 and 2.A base station may transmit data to a UE in the form of a transportblock 405 that includes code blocks 410. The UE may receive the codeblocks, group the code blocks into code block groups, and transmit anACK or NACK for each code block group to indicate whether the codeblocks in each group were successfully decoded.

In some cases, the code blocks 410 transmitted by the base station maybe punctured by another type of communications 415 (e.g., low latencycommunications). In such cases, adjacent code blocks may be punctured(as shown), and the UE may transmit a NACK for the code block groupsthat include these punctured code blocks. However, if code blocks aregrouped inefficiently, the UE may have to transmit additional NACKs,which may result in additional unnecessary retransmissions. Somewireless communications systems may support efficient techniques forgrouping code blocks such that adjacent code blocks are included in asame code block group. Specifically, a UE may group code blocks suchthat each code block received from a base station is grouped with atleast one adjacent code block. The adjacent code blocks may be adjacentin the time domain or frequency domain (i.e., code blocks in adjacenttime symbols or in adjacent frequency domain sub-bands).

As an example, according to one or more schemes for grouping code blocksdescribed with reference to FIG. 3, a UE may group code blocks accordingto code block grouping grid 420. In this case, code blocks 6 and 7 maybe grouped in a same code block group 425-a, and code blocks 3 and 4 maybe grouped in a same code block group 425-b. Accordingly, if code blocks3 and 4 are punctured by another type of communications, a UE maytransmit a NACK for code block groups 425-b, 425-c, and 425-d ratherthan for code block groups 425-a, 425-b, 425-c, and 425-d. As a result,a base station may be able to uniquely identify the punctured codeblocks based on receiving a NACK for these three (3) code block groups.The code blocks of a transmission may be grouped such that the numberingfollows the order in which the code blocks were received (e.g., thesymbols in which the code blocks were received). As such, the numberingof the code blocks for grouping purposes may be performed after any codeblock interleaving is performed in a transport block.

FIG. 5 illustrates an example of a process flow 500 that supports codeblock grouping methods that support efficient retransmissions inaccordance with various aspects of the present disclosure. Process flow500 illustrates aspects of techniques performed by a base station 105-b,which may be an example of a base station 105 as described withreference to FIGS. 1, 2, and 6. Process flow 500 also illustratesaspects of techniques performed by a UE 115-b, which may be an exampleof a UE 115 as described with reference to FIGS. 1, 2, and 6.

At 505, base station 105-b may transmit one or more transport blocksthat include a plurality of code blocks to a UE 115-b. Base station105-b may then transmit an indication, at 510, to group code blocks ofthe transmission to UE 115-b. The indication may include an indicationof a number of code block groups to be formed. In addition, base station105-b may indicate a method to use to group code blocks of thetransmission for feedback reporting. The indication of the method may bean index to a table, where the index indicates a specific method that UE115-b should use to group code blocks of the transmission. In othercases, the indication may include information about the transmission(e.g., a service type (e.g., low latency), a target code block decodingerror rate, channel conditions, etc.), and UE 115-b may group codeblocks of the transmission based on any combination of these parameters.Additionally or alternatively, the indication of the method may be anindex to an entry within a table from among several tables, and UE 115-bmay select the table to use based on other information about thetransmission (e.g., a service type based on a preconfigured mapping).

At 515, UE 115-b may group code blocks of the plurality into code blockgroups for feedback reporting. For example, UE 115-b may group codeblocks of the plurality based on the indication of a number of codeblock groups to be formed. In some cases, each code block group mayinclude a distinct subset of code blocks of the plurality (e.g.,non-overlapping code block groups). In a first example, the code blocksmay be grouped evenly such that each code block group includes a samenumber of code blocks. In a second example, UE 115-b may group a firstset of the code blocks into a plurality of code block groups, where eachcode block group of the plurality include a same number of code blocks,and UE 115-b may then distribute a remaining set of code blocks to onecode block group of the plurality. In another example, UE 115-b maygroup a first set of code blocks into a first plurality of code blockgroups of a first size, and UE 115-b may group a second set of codeblocks into a second plurality of code block groups of a second size.

In other cases, at least two (2) code block groups may include at leastone same code block of the plurality. In another example, UE 115-b maygroup the plurality of code blocks into a first plurality of code blockgroups, and UE 115-b may group the plurality of code blocks into asecond plurality of code block groups, where each code block group ofthe second plurality includes a code block from each of the firstplurality of code block groups. In a fifth example, UE 115-b mayidentify combinations of code block groups based on the indication togroup the code blocks, where the indication to group the code blocksindicates a number of code block groups to be formed, and UE 115-b maydistribute each code block of the plurality of code blocks to adifferent combination of code block groups. In some examples, adjacentsets of two or more code blocks may be within a same code block group.In addition, a code block group may include multiple code block groups.

At 520, UE 115-b may transmit ACK/NACK feedback for each group of codeblocks. An ACK may indicate that code blocks within a code block groupwere successfully decoded, and a NACK may indicate that at least onecode block in a code block group was not successfully decoded.

At 525, base station 105-b may identify the grouping of code blocks anddetermine a mapping between the ACK/NACK feedback and the identifiedcode block groups. Base station 105-b may evaluate the ACK/NACK feedbackfor each code block group and determine which code blocks to retransmitbased on the feedback. As an example, the code blocks within any codeblock group for which an ACK was received may be excluded forretransmission, and any remaining code blocks that are not excluded maybe selected for retransmission. At 530, base station 105-b mayretransmit code blocks originally transmitted at 505 based on evaluatingthe ACK/NACK feedback at 525.

FIG. 6 illustrates an example of a process flow 600 that supports codeblock grouping methods that support efficient retransmissions inaccordance with various aspects of the present disclosure. Process flow600 illustrates aspects of techniques performed by a base station 105-c,which may be an example of a base station 105 described with referenceto FIGS. 1, 2, and 5. Process flow 600 also illustrates aspects oftechniques performed by a UE 115-c, which may be an example of a UE 115described with reference to FIGS. 1, 2, and 5.

At 605, UE 115-c may transmit one or more transport blocks that includea plurality of code blocks to a base station 105-c. At 610, base station105-c may group code blocks received at 605 for feedback reporting. Insome cases, each code block group may include a distinct subset of codeblocks of the plurality (e.g., non-overlapping code block groups). In afirst example, the code blocks may be grouped evenly such that each codeblock group includes a same number of code blocks. In another example,base station 105-c may group a first set of the code blocks into aplurality of code block groups, where each code block group of theplurality include a same number of code blocks, and base station 105-cmay then distribute a remaining set of code blocks to one code blockgroup of the plurality. In another example, base station 105-c may groupa first set of code blocks into a first plurality of code block groupsof a first size, and base station 105-c may group a second set of codeblocks into a second plurality of code block groups of a second size.

In other cases, at least two (2) code block groups may include at leastone same code block of the plurality (e.g., overlapping code blockgroups). In another example, base station 105-c may group the pluralityof code blocks into a first plurality of code block groups, and basestation 105-c may group the plurality of code blocks into a secondplurality of code block groups, where each code block group of thesecond plurality includes a code block from each of the first pluralityof code block groups. In a fifth example, base station 105-c mayidentify combinations of code block groups based on a number of codeblock groups to be formed, and base station 105-c may distribute eachcode block of the plurality of code blocks to a different combination ofcode block groups. In some examples, adjacent sets of two or more codeblocks may be within a same code block group. In addition, a code blockgroup may include multiple code block groups.

At 615, base station 105-c may transmit ACK/NACK feedback for each groupof code blocks formed at 610. Base station 105-c may then transmit, at620, an indication that code blocks were grouped for feedback reportingto UE 115-c. The indication may include an indication of a number ofcode block groups that was formed. In addition, base station 105-c mayindicate a method that was used to group the code blocks of thetransmission for feedback reporting. The indication of the method may bean index to a table, where the index indicates a specific method thatbase station 105-c used to group code blocks of the transmission. Inother cases, the indication may include information about thetransmission (e.g., a service type (e.g., low latency), a target codeblock decoding error rate, channel conditions, etc.), and UE 115-c mayidentify a method used to group code blocks for feedback reporting basedon any one or any combination of these parameters.

Once UE 115-c is able to identify a method used to group code blocks ofthe transmission, UE 115-c may determine a mapping between the ACK/NACKfeedback received at 615 and the identified code block groups. An ACKmay indicate that code blocks within a code block group weresuccessfully decoded, and a NACK may indicate that at least one codeblock in a code block group was not successfully decoded.

At 625, UE 115-c may then evaluate the ACK/NACK feedback to determinewhich code blocks to retransmit. As an example, the code blocks withinany code block group for which an ACK was received may be excluded forretransmission, and any remaining code blocks that are not excluded maybe selected for retransmission. At 630, UE 115-c may then retransmitcode blocks originally transmitted at 605 based on evaluating theACK/NACK feedback at 625.

FIG. 7 shows a block diagram 700 of a wireless device 705 that supportscode block grouping methods that support efficient retransmissions inaccordance with various aspects of the present disclosure. Wirelessdevice 705 may be an example of aspects of a UE 115 as described withreference to FIG. 1. Wireless device 705 may include receiver 710, UEcommunications manager 715, and transmitter 720. Wireless device 705 mayalso include a processor. Each of these components may be incommunication with one another (e.g., via one or more buses).

Receiver 710 may receive information such as packets, user data, orcontrol information associated with various information channels (e.g.,control channels, data channels, and information related to code blockgrouping methods that support efficient retransmissions, etc.).Information may be passed on to other components of the device. Thereceiver 710 may be an example of aspects of the transceiver 1035described with reference to FIG. 10. The receiver 710 may utilize asingle antenna or a set of antennas. In some cases, receiver 710 mayreceive one or more transport blocks that include a plurality of codeblocks.

UE communications manager 715 may be an example of aspects of the UEcommunications manager 1015 described with reference to FIG. 10. UEcommunications manager 715 and/or at least some of its varioussub-components may be implemented in hardware, software executed by aprocessor, firmware, or any combination thereof. If implemented insoftware executed by a processor, the functions of the UE communicationsmanager 715 and/or at least some of its various sub-components may beexecuted by a general-purpose processor, a digital signal processor(DSP), an application-specific integrated circuit (ASIC), anfield-programmable gate array (FPGA) or other programmable logic device,discrete gate or transistor logic, discrete hardware components, or anycombination thereof designed to perform the functions described in thepresent disclosure.

The UE communications manager 715 and/or at least some of its varioussub-components may be physically located at various positions, includingbeing distributed such that portions of functions are implemented atdifferent physical locations by one or more physical devices. In someexamples, UE communications manager 715 and/or at least some of itsvarious sub-components may be a separate and distinct component inaccordance with various aspects of the present disclosure. In otherexamples, UE communications manager 715 and/or at least some of itsvarious sub-components may be combined with one or more other hardwarecomponents, including but not limited to an I/O component, atransceiver, a network server, another computing device, one or moreother components described in the present disclosure, or a combinationthereof in accordance with various aspects of the present disclosure.

UE communications manager 715 may receive an indication to group codeblocks of the set (e.g., the set of code blocks received by receiver710) for feedback reporting and transmit an acknowledgement ornegative-acknowledgement for each code block group based on theindication. In some examples, a first set of code blocks of theplurality (multiple) of code blocks may be grouped into one or more codeblock groups of a first size, and a second set of code blocks of theplurality of code blocks may be grouped into one or more code blockgroups of a second size. In some aspects, one or more code blocks of theplurality of code blocks may be grouped into two or more code blockgroups of a plurality of code block groups (i.e., at least two or morecode block groups of the plurality of code groups share a common codeblock).

Transmitter 720 may transmit signals generated by other components ofthe device. In some examples, the transmitter 720 may be collocated witha receiver 710 in a transceiver module. For example, the transmitter 720may be an example of aspects of the transceiver 1035 described withreference to FIG. 10. The transmitter 720 may utilize a single antennaor a set of antennas.

FIG. 8 shows a block diagram 800 of a wireless device 805 that supportscode block grouping methods that support efficient retransmissions inaccordance with various aspects of the present disclosure. Wirelessdevice 805 may be an example of aspects of a wireless device 705 or a UE115 as described with reference to FIGS. 1 and 7. Wireless device 805may include receiver 810, UE communications manager 815, and transmitter820. Wireless device 805 may also include a processor. Each of thesecomponents may be in communication with one another (e.g., via one ormore buses).

Receiver 810 may receive information such as packets, user data, orcontrol information associated with various information channels (e.g.,control channels, data channels, and information related to code blockgrouping methods that support efficient retransmissions, etc.).Information may be passed on to other components of the device. Thereceiver 810 may be an example of aspects of the transceiver 1035described with reference to FIG. 10. The receiver 810 may utilize asingle antenna or a set of antennas. In some cases, receiver 810 mayreceive one or more transport blocks that include a plurality of codeblocks.

UE communications manager 815 may be an example of aspects of the UEcommunications manager 1015 described with reference to FIG. 10. UEcommunications manager 815 may include code block grouping indicationmanager 825 and HARQ manager 830. Code block grouping indication manager825 may receive an indication to group code blocks of the plurality ofcode blocks for feedback reporting and receive an indication of a numberof code block groups to be formed. In some cases, code blocks of theplurality of code blocks are grouped based at least in part on theindication of the number of code block groups to be formed. In somecases, code block grouping indication manager 825 may receive anindication to group code blocks of the plurality of code blocks forfeedback reporting, where at least one of the code blocks of theplurality of code blocks is included in two or more code block groups ofa plurality of code block groups. Further, the plurality of code blocksmay be grouped into a first plurality of code block groups, and a secondplurality of code block groups, where each code block group of thesecond plurality of code block groups comprises a code block from eachof the first plurality of code block groups.

HARQ manager 830 may transmit an acknowledgement ornegative-acknowledgement for each code block group based on theindication. In some cases, the acknowledgement indicates that codeblocks within a code block group were successfully decoded, and thenegative-acknowledgement indicates that at least one code block in acode block group was not successfully decoded.

Transmitter 820 may transmit signals generated by other components ofthe device. In some examples, the transmitter 820 may be collocated witha receiver 810 in a transceiver module. For example, the transmitter 820may be an example of aspects of the transceiver 1035 described withreference to FIG. 10. The transmitter 820 may utilize a single antennaor a set of antennas.

FIG. 9 shows a block diagram 900 of a UE communications manager 915 thatsupports code block grouping methods that support efficientretransmissions in accordance with various aspects of the presentdisclosure. The UE communications manager 915 may be an example ofaspects of a UE communications manager 715, a UE communications manager815, or a UE communications manager 1015 described with reference toFIGS. 7, 8, and 10. The UE communications manager 915 may include codeblock grouping indication manager 920, HARQ manager 925, non-overlappingcode block grouping manager 930, and overlapping code block groupingmanager 935. Each of these modules may communicate, directly orindirectly, with one another (e.g., via one or more buses).

Code block grouping indication manager 920 may receive an indication togroup code blocks of the set for feedback reporting and receive anindication of a number of code block groups to be formed. HARQ manager925 may transmit an acknowledgement or negative-acknowledgement for eachcode block group based on the indication. In some cases, code blocks ofthe plurality of code blocks are grouped based at least in part on theindication of the number of code block groups to be formed. In somecases, the acknowledgement indicates that code blocks within a codeblock group were successfully decoded. In some cases, thenegative-acknowledgement indicates that at least one code block in acode block group was not successfully decoded.

Non-overlapping code block grouping manager 930 may identify that eachcode block group includes a distinct subset of code blocks of theplurality of code blocks based at least in part on the indication. Insome cases, each code block group includes a same number of code blocks.In some cases, each code block group of the one or more code blockgroups of the first size includes a same number of code blocks, and thesecond set of code blocks includes a remaining set of code blocks thatare distributed to one code block group of the second size. In somecases, the one or more code block groups of the first size include afirst set of code block groups of the first size and the one or morecode block groups of the second size include a second plurality of codeblock groups of the second size.

Overlapping code block grouping manager 935 may identify that theindication assigns at least one code block of the plurality of codeblocks to two or more code block groups of a plurality of code blockgroups. In some cases, the set of code blocks may be grouped into afirst set of code block groups, and the set of code blocks may begrouped into a second set of code block groups, where each code blockgroup of the second set includes a code block from each of the first setof code block groups. In some cases, each code block of the plurality ofcode blocks is distributed to a different combination of code blockgroups. In some cases, at least one of the code blocks of the pluralityof code blocks is included in two or more code block groups of aplurality of code block groups.

In some cases, code blocks of the set may be grouped based on anindication of the number of code block groups to be formed. In somecases, non-overlapping code block grouping manager 930 and overlappingcode block grouping manager 935 may identify a grouping of the codeblocks of the plurality of code blocks based at least in part on a typeof service associated with the one or more transport blocks, an MCS usedto transmit the one or more transport blocks, or the like. In somecases, adjacent sets of two or more code blocks of the plurality of codeblocks may be grouped within a same code block group. In some cases, theadjacent sets of two or more code blocks of the plurality of code blocksare adjacent in a time domain or a frequency domain. In some cases, acode block group includes multiple code block groups.

FIG. 10 shows a diagram of a system 1000 including a device 1005 thatsupports code block grouping methods that support efficientretransmissions in accordance with various aspects of the presentdisclosure. Device 1005 may be an example of or include the componentsof wireless device 705, wireless device 805, or a UE 115 as describedabove, e.g., with reference to FIGS. 1, 7 and 8. Device 1005 may includecomponents for bi-directional voice and data communications includingcomponents for transmitting and receiving communications, including UEcommunications manager 1015, processor 1020, memory 1025, software 1030,transceiver 1035, antenna 1040, and I/O controller 1045. Thesecomponents may be in electronic communication via one or more busses(e.g., bus 1010). Device 1005 may communicate wirelessly with one ormore base stations 105.

Processor 1020 may include an intelligent hardware device, (e.g., ageneral-purpose processor, a DSP, a central processing unit (CPU), amicrocontroller, an ASIC, an FPGA, a programmable logic device, adiscrete gate or transistor logic component, a discrete hardwarecomponent, or any combination thereof). In some cases, processor 1020may be configured to operate a memory array using a memory controller.In other cases, a memory controller may be integrated into processor1020. Processor 1020 may be configured to execute computer-readableinstructions stored in a memory to perform various functions (e.g.,functions or tasks supporting code block grouping methods that supportefficient retransmissions).

Memory 1025 may include random access memory (RAM) and read only memory(ROM). The memory 1025 may store computer-readable, computer-executablesoftware 1030 including instructions that, when executed, cause theprocessor to perform various functions described herein. In some cases,the memory 1025 may contain, among other things, a basic input/outputsystem (BIOS) which may control basic hardware and/or software operationsuch as the interaction with peripheral components or devices.

Software 1030 may include code to implement aspects of the presentdisclosure, including code to support code block grouping methods thatsupport efficient retransmissions. Software 1030 may be stored in anon-transitory computer-readable medium such as system memory or othermemory. In some cases, the software 1030 may not be directly executableby the processor but may cause a computer (e.g., when compiled andexecuted) to perform functions described herein.

Transceiver 1035 may communicate bi-directionally, via one or moreantennas, wired, or wireless links as described above. For example, thetransceiver 1035 may represent a wireless transceiver and maycommunicate bi-directionally with another wireless transceiver. Thetransceiver 1035 may also include a modem to modulate the packets andprovide the modulated packets to the antennas for transmission, and todemodulate packets received from the antennas.

In some cases, the wireless device may include a single antenna 1040.However, in some cases the device may have more than one antenna 1040,which may be capable of concurrently transmitting or receiving multiplewireless transmissions.

I/O controller 1045 may manage input and output signals for device 1005.I/O controller 1045 may also manage peripherals not integrated intodevice 1005. In some cases, I/O controller 1045 may represent a physicalconnection or port to an external peripheral. In some cases, I/Ocontroller 1045 may utilize an operating system such as iOS®, ANDROID®,MS-DOS®, MS-WINDOWS®, OS/2®, UNIX®, LINUX®, or another known operatingsystem. In other cases, I/O controller 1045 may represent or interactwith a modem, a keyboard, a mouse, a touchscreen, or a similar device.In some cases, I/O controller 1045 may be implemented as part of aprocessor. In some cases, a user may interact with device 1005 via I/Ocontroller 1045 or via hardware components controlled by I/O controller1045.

FIG. 11 shows a block diagram 1100 of a wireless device 1105 thatsupports code block grouping methods that support efficientretransmissions in accordance with various aspects of the presentdisclosure. Wireless device 1105 may be an example of aspects of a basestation 105 as described with reference to FIG. 1. Wireless device 1105may include receiver 1110, base station communications manager 1115, andtransmitter 1120. Wireless device 1105 may also include a processor.Each of these components may be in communication with one another (e.g.,via one or more buses).

Receiver 1110 may receive information such as packets, user data, orcontrol information associated with various information channels (e.g.,control channels, data channels, and information related to code blockgrouping methods that support efficient retransmissions, etc.).Information may be passed on to other components of the device. Thereceiver 1110 may be an example of aspects of the transceiver 1435described with reference to FIG. 14. The receiver 1110 may utilize asingle antenna or a set of antennas.

Base station communications manager 1115 may be an example of aspects ofthe base station communications manager 1415 described with reference toFIG. 14. Base station communications manager 1115 and/or at least someof its various sub-components may be implemented in hardware, softwareexecuted by a processor, firmware, or any combination thereof. Ifimplemented in software executed by a processor, the functions of thebase station communications manager 1115 and/or at least some of itsvarious sub-components may be executed by a general-purpose processor, aDSP, an ASIC, an FPGA or other programmable logic device, discrete gateor transistor logic, discrete hardware components, or any combinationthereof designed to perform the functions described in the presentdisclosure.

The base station communications manager 1115 and/or at least some of itsvarious sub-components may be physically located at various positions,including being distributed such that portions of functions areimplemented at different physical locations by one or more physicaldevices. In some examples, base station communications manager 1115and/or at least some of its various sub-components may be a separate anddistinct component in accordance with various aspects of the presentdisclosure. In other examples, base station communications manager 1115and/or at least some of its various sub-components may be combined withone or more other hardware components, including but not limited to anI/O component, a transceiver, a network server, another computingdevice, one or more other components described in the presentdisclosure, or a combination thereof in accordance with various aspectsof the present disclosure.

Base station communications manager 1115 may transmit an indication togroup code blocks of a plurality of code blocks (e.g., a plurality ofcode blocks transmitted by transmitter 1120) for feedback reporting andreceive an acknowledgement or negative-acknowledgement for each codeblock group based on the indication. In some cases, a first set of codeblocks of the plurality of code blocks may be grouped into one or morecode block groups of a first size, and a second set of code blocks ofthe plurality of code blocks may be grouped into one or more code blockgroups of a second size. In some cases, at least one of the code blocksof the plurality of code blocks is included in two or more code blockgroups of a plurality of code block groups. In some other cases, one ormore code blocks of the plurality of code blocks are grouped into two ormore code block groups of a plurality of code block groups.

Transmitter 1120 may transmit signals generated by other components ofthe device. In some examples, the transmitter 1120 may be collocatedwith a receiver 1110 in a transceiver module. For example, thetransmitter 1120 may be an example of aspects of the transceiver 1435described with reference to FIG. 14. The transmitter 1120 may utilize asingle antenna or a set of antennas. As mentioned above, transmitter1120 may transmit one or more transport blocks that include a pluralityof code blocks.

FIG. 12 shows a block diagram 1200 of a wireless device 1205 thatsupports code block grouping methods that support efficientretransmissions in accordance with various aspects of the presentdisclosure. Wireless device 1205 may be an example of aspects of awireless device 1105 or a base station 105 as described with referenceto FIGS. 1 and 11. Wireless device 1205 may include receiver 1210, basestation communications manager 1215, and transmitter 1220. Wirelessdevice 1205 may also include a processor. Each of these components maybe in communication with one another (e.g., via one or more buses).

Receiver 1210 may receive information such as packets, user data, orcontrol information associated with various information channels (e.g.,control channels, data channels, and information related to code blockgrouping methods that support efficient retransmissions, etc.).Information may be passed on to other components of the device. Thereceiver 1210 may be an example of aspects of the transceiver 1435described with reference to FIG. 14. The receiver 1210 may utilize asingle antenna or a set of antennas.

Base station communications manager 1215 may be an example of aspects ofthe base station communications manager 1415 described with reference toFIG. 14. Base station communications manager 1215 may include code blockgrouping indication manager 1225 and HARQ manager 1230. Code blockgrouping indication manager 1225 may transmit an indication to groupcode blocks of the plurality of code blocks (e.g., a plurality of codeblocks transmitted by transmitter 1220) for feedback reporting andtransmit an indication of a number of code block groups to be formed,where code blocks of the plurality of code blocks are grouped based onthe indication of the number of code blocks to be formed. In some cases,code block grouping indication manager 1225 may transmit an indicationto group code blocks of the plurality of code blocks for feedbackreporting, where at least one of the code blocks of the plurality ofcode blocks is included in two or more code block groups of a pluralityof code block groups. Further, the plurality of code blocks may begrouped into a first plurality of code block groups, and a secondplurality of code block groups, where each code block group of thesecond plurality of code block groups comprises a code block from eachof the first plurality of code block groups.

HARQ manager 1230 may receive an acknowledgement ornegative-acknowledgement for each code block group based on theindication. In some cases, the acknowledgement indicates that codeblocks within a code block group were successfully decoded, and thenegative-acknowledgement indicates that at least one code block in acode block group was not successfully decoded. In some cases, HARQmanager 1230 may determine one or more code blocks for retransmissionbased on the indication and the received acknowledgement ornegative-acknowledgement for each code block group.

HARQ manager 1230 may then coordinate with transmitter 1220 toretransmit the one or more code blocks based on the determination.Transmitter 1220 may transmit signals generated by other components ofthe device. In some examples, the transmitter 1220 may be collocatedwith a receiver 1210 in a transceiver module. For example, thetransmitter 1220 may be an example of aspects of the transceiver 1435described with reference to FIG. 14. The transmitter 1220 may utilize asingle antenna or a set of antennas.

FIG. 13 shows a block diagram 1300 of a base station communicationsmanager 1315 that supports code block grouping methods that supportefficient retransmissions in accordance with various aspects of thepresent disclosure. The base station communications manager 1315 may bean example of aspects of a base station communications manager 1415described with reference to FIGS. 11, 12, and 14. The base stationcommunications manager 1315 may include code block grouping indicationmanager 1320, HARQ manager 1325, non-overlapping code block groupingmanager 1330, and overlapping code block grouping manager 1335. Each ofthese modules may communicate, directly or indirectly, with one another(e.g., via one or more buses).

Code block grouping indication manager 1320 may transmit an indicationto group code blocks of a set of code blocks for feedback reporting andtransmit an indication of a number of code block groups to be formed,where code blocks of the plurality of code blocks are grouped based onthe indication of the number of code blocks to be formed. In some cases,the one or more code blocks of the plurality of code blocks are groupedinto two or more code block groups of a plurality of code block groups.In some cases, at least one of the code blocks of the plurality of codeblocks is included in two or more code block groups of a plurality ofcode block groups. In some other cases, a first set of code blocks ofthe plurality of code blocks are grouped into one or more code blockgroups of a first size, and a second set of code blocks of the pluralityof code blocks are grouped into one or more code block groups of asecond size.

HARQ manager 1325 may receive an acknowledgement ornegative-acknowledgement for each code block group based on theindication. In some cases, the acknowledgement indicates that codeblocks within a code block group were successfully decoded, and thenegative-acknowledgement indicates that at least one code block in acode block group was not successfully decoded. In some cases, HARQmanager 1325 may determine one or more code blocks for retransmissionbased on the indication and the received acknowledgement ornegative-acknowledgement for each code block group. HARQ manager 1325may then coordinate with a transmitter to retransmit the one or morecode blocks based on the determination.

Non-overlapping code block grouping manager 1330 may identify code blockgroups that include a distinct subset of code blocks of the set. In somecases, each code block group includes a same number of code blocks. Insome cases, a first set of code blocks are grouped into a set of codeblock groups, where each code block group of the set includes a samenumber of code blocks, and a remaining set of code blocks aredistributed to one code block group of the set. In some cases, each codeblock group of the one or more code block groups of the first sizeincludes a same number of code blocks, and the second set of code blocksincludes a remaining set of code blocks that are distributed to one codeblock group of the second size. In some other cases, the one or morecode block groups of the first size include a first plurality of codeblock groups of the first size, and the one or more code block groups ofthe second size include a second plurality of code block groups of thesecond size.

Overlapping code block grouping manager 1335 may identify that theindication assigns at least one code block of the plurality of codeblocks to two or more code block groups of a plurality of code blockgroups. In some cases, the plurality of code blocks are grouped into afirst plurality of code block groups, and the plurality of code blocksare grouped into a second plurality of code block groups, where eachcode block group of the second plurality of code block groups includes acode block from each of the first plurality of code block groups. Insome cases, each code block of the plurality of code blocks isdistributed to a different combination of code block groups. In somecases, a code block group includes multiple code block groups. In somecases, adjacent sets of two or more code blocks of the set of codeblocks may be grouped within a same code block group. In some cases, theadjacent sets of two or more code blocks of the plurality of code blocksare adjacent in a time domain or a frequency domain.

Non-overlapping code block grouping manager 1330 and overlapping codeblock grouping manager 1335 may identify a grouping of the code blocksof the plurality based on a type of service associated with the one ormore transport blocks, an MCS used to transmit the one or more transportblocks, or the like.

FIG. 14 shows a diagram of a system 1400 including a device 1405 thatsupports code block grouping methods that support efficientretransmissions in accordance with various aspects of the presentdisclosure. Device 1405 may be an example of or include the componentsof base station 105 as described above, e.g., with reference to FIG. 1.Device 1405 may include components for bi-directional voice and datacommunications including components for transmitting and receivingcommunications, including base station communications manager 1415,processor 1420, memory 1425, software 1430, transceiver 1435, antenna1440, network communications manager 1445, and inter-stationcommunications manager 1450. These components may be in electroniccommunication via one or more busses (e.g., bus 1410). Device 1405 maycommunicate wirelessly with one or more UEs 115.

Processor 1420 may include an intelligent hardware device, (e.g., ageneral-purpose processor, a DSP, a CPU, a microcontroller, an ASIC, anFPGA, a programmable logic device, a discrete gate or transistor logiccomponent, a discrete hardware component, or any combination thereof).In some cases, processor 1420 may be configured to operate a memoryarray using a memory controller. In other cases, a memory controller maybe integrated into processor 1420. Processor 1420 may be configured toexecute computer-readable instructions stored in a memory to performvarious functions (e.g., functions or tasks supporting code blockgrouping methods that support efficient retransmissions).

Memory 1425 may include RAM and ROM. The memory 1425 may storecomputer-readable, computer-executable software 1430 includinginstructions that, when executed, cause the processor to perform variousfunctions described herein. In some cases, the memory 1425 may contain,among other things, a BIOS which may control basic hardware and/orsoftware operation such as the interaction with peripheral components ordevices.

Software 1430 may include code to implement aspects of the presentdisclosure, including code to support code block grouping methods thatsupport efficient retransmissions. Software 1430 may be stored in anon-transitory computer-readable medium such as system memory or othermemory. In some cases, the software 1430 may not be directly executableby the processor but may cause a computer (e.g., when compiled andexecuted) to perform functions described herein.

Transceiver 1435 may communicate bi-directionally, via one or moreantennas, wired, or wireless links as described above. For example, thetransceiver 1435 may represent a wireless transceiver and maycommunicate bi-directionally with another wireless transceiver. Thetransceiver 1435 may also include a modem to modulate the packets andprovide the modulated packets to the antennas for transmission, and todemodulate packets received from the antennas.

In some cases, the wireless device may include a single antenna 1440.However, in some cases the device may have more than one antenna 1440,which may be capable of concurrently transmitting or receiving multiplewireless transmissions.

Network communications manager 1445 may manage communications with thecore network (e.g., via one or more wired backhaul links). For example,the network communications manager 1445 may manage the transfer of datacommunications for client devices, such as one or more UEs 115.

Inter-station communications manager 1450 may manage communications withother base station 105, and may include a controller or scheduler forcontrolling communications with UEs 115 in cooperation with other basestations 105. For example, the inter-station communications manager 1450may coordinate scheduling for transmissions to UEs 115 for variousinterference mitigation techniques such as beamforming or jointtransmission. In some examples, inter-station communications manager1450 may provide an X2 interface within an Long Term Evolution(LTE)/LTE-A wireless communication network technology to providecommunication between base stations 105.

FIG. 15 shows a flowchart illustrating a method 1500 for code blockgrouping methods that support efficient retransmissions in accordancewith various aspects of the present disclosure. The operations of method1500 may be implemented by a UE 115 or its components as describedherein. For example, the operations of method 1500 may be performed by aUE communications manager as described with reference to FIGS. 7 through10. In some examples, a UE 115 may execute a set of codes to control thefunctional elements of the device to perform the functions describedbelow. Additionally or alternatively, the UE 115 may perform aspects ofthe functions described below using special-purpose hardware.

At 1505, the UE 115 may receive one or more transport blocks thatinclude a set (e.g., a plurality) of code blocks. The operations ofblock 1505 may be performed according to the methods described withreference to FIGS. 1 through 6. In certain examples, aspects of theoperations of block 1505 may be performed by a receiver as describedwith reference to FIGS. 7 through 10.

At 1510, the UE 115 may receive an indication to group code blocks ofthe set of code blocks for feedback reporting, where a first set of codeblocks of the set of code blocks are grouped into one or more code blockgroups of a first size, and second set of the set of code blocks aregrouped into code block groups of a second size. In some cases, the UE115 may further identify that each code block group includes a distinctsubset of code blocks of the set of code blocks, based in part on theindication received. Further, each code block group may include the samenumber of code blocks. The operations of block 1510 may be performedaccording to the methods described with reference to FIGS. 1 through 6.In certain examples, aspects of the operations of block 1510 may beperformed by a code block grouping indication manager as described withreference to FIGS. 7 through 10.

At 1515, the UE 115 may transmit an acknowledgement ornegative-acknowledgement for each code block group based at least inpart on the indication. In some aspects, the acknowledgment andnegative-acknowledgment may indicate if one or more code blocks within acode block group were successfully or not successfully decoded. Forinstance, the UE 115 may transmit a negative acknowledgment if at leastone code block in a code block group was not successfully decoded. Theoperations of block 1515 may be performed according to the methodsdescribed with reference to FIGS. 1 through 6. In certain examples,aspects of the operations of block 1515 may be performed by a HARQmanager as described with reference to FIGS. 7 through 10.

FIG. 16 shows a flowchart illustrating a method 1600 for code blockgrouping methods that support efficient retransmissions in accordancewith various aspects of the present disclosure. The operations of method1600 may be implemented by a base station 105 or its components asdescribed herein. For example, the operations of method 1600 may beperformed by a base station communications manager as described withreference to FIGS. 11 through 14. In some examples, a base station 105may execute a set of codes to control the functional elements of thedevice to perform the functions described below. Additionally oralternatively, the base station 105 may perform aspects of the functionsdescribed below using special-purpose hardware.

At 1605, the base station 105 may transmit one or more transport blocksthat include a plurality of code blocks. The operations of block 1605may be performed according to the methods described with reference toFIGS. 1 through 6. In certain examples, aspects of the operations ofblock 1605 may be performed by a transmitter as described with referenceto FIGS. 11 through 14.

At 1610, the base station 105 may transmit an indication to group codeblocks of the plurality for feedback reporting. In some cases, a firstset of code blocks of the plurality of code blocks may be grouped intoone or more code block groups of a first size, and a second set of codeblocks of the plurality of code blocks may be grouped into one or morecode block groups of a second size. In some other cases, at least one ofthe code blocks of the plurality of code blocks may be included in twoor more code block groups of a plurality of code block groups. In somecases, at least one of the code blocks of the plurality of code blocksis included in two or more code block groups of a plurality of codeblock groups. The operations of block 1610 may be performed according tothe methods described with reference to FIGS. 1 through 6. In certainexamples, aspects of the operations of block 1610 may be performed by acode block grouping indication manager as described with reference toFIGS. 11 through 14.

At 1615, the base station 105 may receive an acknowledgement ornegative-acknowledgement for each code block group based at least inpart on the indication. The operations of block 1615 may be performedaccording to the methods described with reference to FIGS. 1 through 6.In certain examples, aspects of the operations of block 1615 may beperformed by a HARQ manager as described with reference to FIGS. 11through 14.

FIG. 17 shows a flowchart illustrating a method 1700 for code blockgrouping methods that support efficient retransmissions in accordancewith various aspects of the present disclosure. The operations of method1700 may be implemented by a UE 115 or its components as describedherein. For example, the operations of method 1700 may be performed by aUE communications manager as described with reference to FIGS. 7 through10. In some examples, a UE 115 may execute a set of codes to control thefunctional elements of the device to perform the functions describedbelow. Additionally or alternatively, the UE 115 may perform aspects ofthe functions described below using special-purpose hardware.

At 1705, the UE 115 may receive one or more transport blocks thatinclude a plurality of code blocks. The operations of block 1705 may beperformed according to the methods described with reference to FIGS. 1through 6. In certain examples, aspects of the operations of block 1705may be performed by a receiver as described with reference to FIGS. 7through 10.

At 1710, the UE 115 may receive an indication to group code blocks ofthe plurality for feedback reporting, where at least one of the codeblocks of the plurality of code blocks is included in two or more codeblock groups of a plurality of code block groups. For example, the UE115 may group code blocks into overlapping code block groups, where atleast two code block groups include a common code block, which may bereferred to as overlapping code block grouping. In some other cases, theUE 115 may group code blocks into non-overlapping code block groups,where each code block group includes a distinct subset of code blocks.The operations of block 1710 may be performed according to the methodsdescribed with reference to FIGS. 1 through 6. In certain examples,aspects of the operations of block 1710 may be performed by a code blockgrouping indication manager as described with reference to FIGS. 7through 10.

At 1715, the UE 115 may transmit an acknowledgement (i.e., an indicationthat code blocks within a code block group were successfully decoded) ornegative-acknowledgement (i.e., an indication that at least one codeblock in a code block group was not successfully decoded) for each codeblock group based at least in part on the indication. The operations ofblock 1515 may be performed according to the methods described withreference to FIGS. 1 through 6. In certain examples, aspects of theoperations of block 1715 may be performed by a HARQ manager as describedwith reference to FIGS. 7 through 10.

FIG. 18 shows a flowchart illustrating a method 1800 for code blockgrouping methods that support efficient retransmissions in accordancewith various aspects of the present disclosure. The operations of method1800 may be implemented by a base station 105 or its components asdescribed herein. For example, the operations of method 1800 may beperformed by a base station communications manager as described withreference to FIGS. 11 through 14. In some examples, a base station 105may execute a set of codes to control the functional elements of thedevice to perform the functions described below. Additionally oralternatively, the base station 105 may perform aspects of the functionsdescribed below using special-purpose hardware.

At 1805, the base station 105 may transmit one or more transport blocksthat include a plurality of code blocks. The operations of block 1805may be performed according to the methods described with reference toFIGS. 1 through 6. In certain examples, aspects of the operations ofblock 1805 may be performed by a transmitter as described with referenceto FIGS. 11 through 14.

At 1810, the base station 105 may transmit an indication to group codeblocks of the plurality for feedback reporting. In some cases, the basestation 105 may transmit an indication of a number of code block groupsto be formed, where code blocks of the plurality of code blocks may begrouped based at least in part on the indication of the number of codeblock groups to be formed. In some cases, one or more code blocks of theplurality of code blocks may be grouped into two or more code blockgroups of a plurality of code block groups. In some cases, at least oneof the code blocks of the plurality of code blocks is included in two ormore code block groups of a plurality of code block groups. Forinstance, the plurality of code blocks may be grouped into a firstplurality of code block groups, and the plurality of code blocks may begrouped into a second plurality of code block groups, where each codeblock group of the second plurality of code block groups includes a codeblock from each of the first plurality of code block groups (i.e.,overlapping code block grouping). The operations of block 1810 may beperformed according to the methods described with reference to FIGS. 1through 6. In certain examples, aspects of the operations of block 1810may be performed by a code block grouping indication manager asdescribed with reference to FIGS. 11 through 14.

At 1815, the base station 105 may receive an acknowledgement ornegative-acknowledgement for each code block group based at least inpart on the indication. The operations of block 1815 may be performedaccording to the methods described with reference to FIGS. 1 through 6.In certain examples, aspects of the operations of block 1815 may beperformed by a HARQ manager as described with reference to FIGS. 11through 14.

It should be noted that the methods described above describe possibleimplementations, and that the operations and the steps may be rearrangedor otherwise modified and that other implementations are possible.Furthermore, aspects from two or more of the methods may be combined.

Techniques described herein may be used for various wirelesscommunications systems such as code division multiple access (CDMA),time division multiple access (TDMA), frequency division multiple access(FDMA), orthogonal frequency division multiple access (OFDMA), singlecarrier frequency division multiple access (SC-FDMA), and other systems.The terms “system” and “network” are often used interchangeably. A codedivision multiple access (CDMA) system may implement a radio technologysuch as CDMA2000, Universal Terrestrial Radio Access (UTRA), etc.CDMA2000 covers IS-2000, IS-95, and IS-856 standards. IS-2000 Releasesmay be commonly referred to as CDMA2000 1X, 1x, etc. IS-856 (TIA-856) iscommonly referred to as CDMA2000 1xEV-DO, High Rate Packet Data (HRPD),etc. UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA. ATDMA system may implement a radio technology such as Global System forMobile Communications (GSM).

An OFDMA system may implement a radio technology such as Ultra MobileBroadband (UMB), Evolved UTRA (E-UTRA), Institute of Electrical andElectronics Engineers (IEEE) 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE802.20, Flash-OFDM, etc. UTRA and E-UTRA are part of Universal MobileTelecommunications System (UMTS). LTE and LTE-A are releases of UMTSthat use E-UTRA. UTRA, E-UTRA, UMTS, LTE, LTE-A, NR, and GSM aredescribed in documents from the organization named “3rd GenerationPartnership Project” (3GPP). CDMA2000 and UMB are described in documentsfrom an organization named “3rd Generation Partnership Project 2”(3GPP2). The techniques described herein may be used for the systems andradio technologies mentioned above as well as other systems and radiotechnologies. While aspects of an LTE or an NR system may be describedfor purposes of example, and LTE or NR terminology may be used in muchof the description, the techniques described herein are applicablebeyond LTE or NR applications.

In LTE/LTE-A networks, including such networks described herein, theterm evolved node B (eNB) may be generally used to describe the basestations. The wireless communications system or systems described hereinmay include a heterogeneous LTE/LTE-A or NR network in which differenttypes of eNBs provide coverage for various geographical regions. Forexample, each eNB, next generation NodeB (gNB), or base station mayprovide communication coverage for a macro cell, a small cell, or othertypes of cell. The term “cell” may be used to describe a base station, acarrier or component carrier associated with a base station, or acoverage area (e.g., sector, etc.) of a carrier or base station,depending on context.

Base stations may include or may be referred to by those skilled in theart as a base transceiver station, a radio base station, an accesspoint, a radio transceiver, a NodeB, eNodeB (eNB), gNB, Home NodeB, aHome eNodeB, or some other suitable terminology. The geographic coveragearea for a base station may be divided into sectors making up only aportion of the coverage area. The wireless communications system orsystems described herein may include base stations of different types(e.g., macro or small cell base stations). The UEs described herein maybe able to communicate with various types of base stations and networkequipment including macro eNBs, small cell eNBs, gNBs, relay basestations, and the like. There may be overlapping geographic coverageareas for different technologies.

A macro cell generally covers a relatively large geographic area (e.g.,several kilometers in radius) and may allow unrestricted access by UEswith service subscriptions with the network provider. A small cell is alower-powered base station, as compared with a macro cell, that mayoperate in the same or different (e.g., licensed, unlicensed, etc.)frequency bands as macro cells. Small cells may include pico cells,femto cells, and micro cells according to various examples. A pico cell,for example, may cover a small geographic area and may allowunrestricted access by UEs with service subscriptions with the networkprovider. A femto cell may also cover a small geographic area (e.g., ahome) and may provide restricted access by UEs having an associationwith the femto cell (e.g., UEs in a closed subscriber group (CSG), UEsfor users in the home, and the like). An eNB for a macro cell may bereferred to as a macro eNB. An eNB for a small cell may be referred toas a small cell eNB, a pico eNB, a femto eNB, or a home eNB. An eNB maysupport one or multiple (e.g., two, three, four, and the like) cells(e.g., component carriers).

The wireless communications system or systems described herein maysupport synchronous or asynchronous operation. For synchronousoperation, the base stations may have similar frame timing, andtransmissions from different base stations may be approximately alignedin time. For asynchronous operation, the base stations may havedifferent frame timing, and transmissions from different base stationsmay not be aligned in time. The techniques described herein may be usedfor either synchronous or asynchronous operations.

The downlink transmissions described herein may also be called forwardlink transmissions while the uplink transmissions may also be calledreverse link transmissions. Each communication link describedherein—including, for example, wireless communications system 100 and200 of FIGS. 1 and 2—may include one or more carriers, where eachcarrier may be a signal made up of multiple sub-carriers (e.g., waveformsignals of different frequencies).

The description set forth herein, in connection with the appendeddrawings, describes example configurations and does not represent allthe examples that may be implemented or that are within the scope of theclaims. The term “exemplary” used herein means “serving as an example,instance, or illustration,” and not “preferred” or “advantageous overother examples.” The detailed description includes specific details forthe purpose of providing an understanding of the described techniques.These techniques, however, may be practiced without these specificdetails. In some instances, well-known structures and devices are shownin block diagram form in order to avoid obscuring the concepts of thedescribed examples.

In the appended figures, similar components or features may have thesame reference label. Further, various components of the same type maybe distinguished by following the reference label by a dash and a secondlabel that distinguishes among the similar components. If just the firstreference label is used in the specification, the description isapplicable to any one of the similar components having the same firstreference label irrespective of the second reference label.

Information and signals described herein may be represented using any ofa variety of different technologies and techniques. For example, data,instructions, commands, information, signals, bits, symbols, and chipsthat may be referenced throughout the above description may berepresented by voltages, currents, electromagnetic waves, magneticfields or particles, optical fields or particles, or any combinationthereof

The various illustrative blocks and modules described in connection withthe disclosure herein may be implemented or performed with ageneral-purpose processor, a DSP, an ASIC, an FPGA or other programmablelogic device, discrete gate or transistor logic, discrete hardwarecomponents, or any combination thereof designed to perform the functionsdescribed herein. A general-purpose processor may be a microprocessor,but in the alternative, the processor may be any conventional processor,controller, microcontroller, or state machine. A processor may also beimplemented as a combination of computing devices (e.g., a combinationof a DSP and a microprocessor, multiple microprocessors, one or moremicroprocessors in conjunction with a DSP core, or any other suchconfiguration).

The functions described herein may be implemented in hardware, softwareexecuted by a processor, firmware, or any combination thereof Ifimplemented in software executed by a processor, the functions may bestored on or transmitted over as one or more instructions or code on acomputer-readable medium. Other examples and implementations are withinthe scope of the disclosure and appended claims. For example, due to thenature of software, functions described above can be implemented usingsoftware executed by a processor, hardware, firmware, hardwiring, orcombinations of any of these. Features implementing functions may alsobe physically located at various positions, including being distributedsuch that portions of functions are implemented at different physicallocations. Also, as used herein, including in the claims, “or” as usedin a list of items (for example, a list of items prefaced by a phrasesuch as “at least one of” or “one or more of”) indicates an inclusivelist such that, for example, a list of at least one of A, B, or C meansA or B or C or AB or AC or BC or ABC (i.e., A and B and C). Also, asused herein, the phrase “based on” shall not be construed as a referenceto a closed set of conditions. For example, an exemplary step that isdescribed as “based on condition A” may be based on both a condition Aand a condition B without departing from the scope of the presentdisclosure. In other words, as used herein, the phrase “based on” shallbe construed in the same manner as the phrase “based at least in parton.”

Computer-readable media includes both non-transitory computer storagemedia and communication media including any medium that facilitatestransfer of a computer program from one place to another. Anon-transitory storage medium may be any available medium that can beaccessed by a general purpose or special purpose computer. By way ofexample, and not limitation, non-transitory computer-readable media maycomprise RAM, ROM, electrically erasable programmable read only memory(EEPROM), compact disk (CD) ROM or other optical disk storage, magneticdisk storage or other magnetic storage devices, or any othernon-transitory medium that can be used to carry or store desired programcode means in the form of instructions or data structures and that canbe accessed by a general-purpose or special-purpose computer, or ageneral-purpose or special-purpose processor. Also, any connection isproperly termed a computer-readable medium. For example, if the softwareis transmitted from a website, server, or other remote source using acoaxial cable, fiber optic cable, twisted pair, digital subscriber line(DSL), or wireless technologies such as infrared, radio, and microwave,then the coaxial cable, fiber optic cable, twisted pair, DSL, orwireless technologies such as infrared, radio, and microwave areincluded in the definition of medium. Disk and disc, as used herein,include CD, laser disc, optical disc, digital versatile disc (DVD),floppy disk and Blu-ray disc where disks usually reproduce datamagnetically, while discs reproduce data optically with lasers.Combinations of the above are also included within the scope ofcomputer-readable media.

The description herein is provided to enable a person skilled in the artto make or use the disclosure. Various modifications to the disclosurewill be readily apparent to those skilled in the art, and the genericprinciples defined herein may be applied to other variations withoutdeparting from the scope of the disclosure. Thus, the disclosure is notlimited to the examples and designs described herein, but is to beaccorded the broadest scope consistent with the principles and novelfeatures disclosed herein.

What is claimed is:
 1. A method for wireless communication, comprising:receiving a transport block that comprises a plurality of code blocks;receiving an indication to group code blocks of the plurality of codeblocks of the transport block for feedback reporting, wherein a firstset of code blocks of the plurality of code blocks are grouped into oneor more code block groups comprising a first quantity of code blocks,wherein a second set of code blocks of the plurality of code blocks aregrouped into one or more code block groups comprising a second quantityof code blocks, wherein the first quantity of code blocks is differentfrom the second quantity of code blocks, and wherein each code blockgroup comprises a distinct subset of code blocks of the plurality ofcode blocks and each code block group of the one or more code blockgroups comprising the first quantity of code blocks comprises a samenumber of code blocks; and transmitting an acknowledgement ornegative-acknowledgement for each code block group based at least inpart on the indication.
 2. The method of claim 1, wherein: theacknowledgement indicates that code blocks within a code block groupwere successfully decoded; and the negative-acknowledgement indicatesthat at least one code block in a code block group was not successfullydecoded.
 3. The method of claim 1, wherein: the one or more code blockgroups of the first quantity of code blocks comprise a first pluralityof code block groups of the first quantity of code blocks; and the oneor more code block groups of the second quantity of code blocks comprisea second plurality of code block groups of the second quantity of codeblocks.
 4. The method of claim 1, further comprising: receiving anindication of a number of code block groups to be formed, wherein codeblocks of the plurality of code blocks are grouped based at least inpart on the indication of the number of code block groups to be formed.5. The method of claim 1, wherein adjacent sets of two or more codeblocks of the plurality of code blocks are within a same code blockgroup.
 6. The method of claim 5, wherein the adjacent sets of two ormore code blocks of the plurality of code blocks are adjacent in a timedomain or a frequency domain.
 7. The method of claim 1, wherein a codeblock group comprises multiple code block groups.
 8. The method of claim1, further comprising: identifying a grouping of the code blocks of theplurality of code blocks based at least in part on a type of serviceassociated with the transport block, or a modulation and coding scheme(MCS) used to transmit the transport block, or a combination thereof 9.The method of claim 1, wherein the second set of code blocks comprises aremaining set of code blocks that are distributed to one code blockgroup comprising the second quantity of code blocks.
 10. The method ofclaim 1, wherein at least one of the code blocks of the plurality ofcode blocks is included in two or more code block groups of a pluralityof code block groups.
 11. The method of claim 1, wherein the pluralityof code blocks are grouped into a first plurality of code block groupsand a second plurality of code block groups, wherein each code blockgroup of the second plurality of code block groups comprises a codeblock from each of the first plurality of code block groups.
 12. Themethod of claim 1, wherein each code block of the plurality of codeblocks is distributed to a different combination of code block groups.13. An apparatus for wireless communication, comprising: a processor;memory coupled with the processor; and instructions stored in the memoryand operable, when executed by the processor, to cause the apparatus to:receive a transport block that comprises a plurality of code blocks;receive an indication to group code blocks of the plurality of codeblocks of the transport block for feedback reporting, wherein a firstset of code blocks of the plurality of code blocks are grouped into oneor more code block groups comprising a first quantity of code blocks,wherein a second set of code blocks of the plurality of code blocks aregrouped into one or more code block groups comprising a second quantityof code blocks, wherein the first quantity of code blocks is differentfrom the second quantity of code blocks, and wherein each code blockgroup comprises a distinct subset of code blocks of the plurality ofcode blocks and each code block group of the one or more code blockgroups comprising the first quantity of code blocks comprises a samenumber of code blocks; and transmit an acknowledgement ornegative-acknowledgement for each code block group based at least inpart on the indication.
 14. The apparatus of claim 13, wherein: theacknowledgement indicates that code blocks within a code block groupwere successfully decoded; and the negative-acknowledgement indicatesthat at least one code block in a code block group was not successfullydecoded.
 15. The apparatus of claim 13, wherein: the one or more codeblock groups of the first quantity of code blocks comprise a firstplurality of code block groups of the first quantity of code blocks; andthe one or more code block groups of the second quantity of code blockscomprise a second plurality of code block groups of the second quantityof code blocks.
 16. The apparatus of claim 13, wherein the instructionsare further executable by the processor to: receive an indication of anumber of code block groups to be formed, wherein code blocks of theplurality of code blocks are grouped based at least in part on theindication of the number of code block groups to be formed.
 17. Theapparatus of claim 13, wherein adjacent sets of two or more code blocksof the plurality of code blocks are within a same code block group. 18.The apparatus of claim 17, wherein the adjacent sets of two or more codeblocks of the plurality of code blocks are adjacent in a time domain ora frequency domain.
 19. The apparatus of claim 13, wherein a code blockgroup comprises multiple code block groups.
 20. The apparatus of claim13, wherein the instructions are further executable by the processor to:identify a grouping of the code blocks of the plurality of code blocksbased at least in part on a type of service associated with thetransport block, or a modulation and coding scheme (MCS) used totransmit the transport block, or a combination thereof
 21. The apparatusof claim 13, wherein the second set of code blocks comprises a remainingset of code blocks that are distributed to one code block groupcomprising the second quantity of code blocks.
 22. The apparatus ofclaim 13, wherein at least one of the code blocks of the plurality ofcode blocks is included in two or more code block groups of a pluralityof code block groups.
 23. The apparatus of claim 13, wherein theplurality of code blocks are grouped into a first plurality of codeblock groups and a second plurality of code block groups, wherein eachcode block group of the second plurality of code block groups comprisesa code block from each of the first plurality of code block groups. 24.The apparatus of claim 13, wherein each code block of the plurality ofcode blocks is distributed to a different combination of code blockgroups.
 25. An apparatus for wireless communication, comprising: meansfor receiving a transport block that comprises a plurality of codeblocks; means for receiving an indication to group code blocks of theplurality of code blocks of the transport block for feedback reporting,wherein a first set of code blocks of the plurality of code blocks aregrouped into one or more code block groups comprising a first quantityof code blocks, wherein a second set of code blocks of the plurality ofcode blocks are grouped into one or more code block groups comprising asecond quantity of code blocks, wherein the first quantity of codeblocks is different from the second quantity of code blocks, and whereineach code block group comprises a distinct subset of code blocks of theplurality of code blocks and each code block group of the one or morecode block groups comprising the first quantity of code blocks comprisesa same number of code blocks; and means for transmitting anacknowledgement or negative-acknowledgement for each code block groupbased at least in part on the indication.
 26. The apparatus of claim 25,wherein: the acknowledgement indicates that code blocks within a codeblock group were successfully decoded; and the negative-acknowledgementindicates that at least one code block in a code block group was notsuccessfully decoded.
 27. The apparatus of claim 25, wherein: the one ormore code block groups of the first quantity of code blocks comprise afirst plurality of code block groups of the first quantity of codeblocks; and the one or more code block groups of the second quantity ofcode blocks comprise a second plurality of code block groups of thesecond quantity of code blocks.
 28. The apparatus of claim 25, furthercomprising: means for receiving an indication of a number of code blockgroups to be formed, wherein code blocks of the plurality of code blocksare grouped based at least in part on the indication of the number ofcode block groups to be formed.
 29. The apparatus of claim 25, whereinadjacent sets of two or more code blocks of the plurality of code blocksare within a same code block group.
 30. A non-transitorycomputer-readable medium storing code for wireless communication, thecode comprising instructions executable by a processor to: receive atransport block that comprises a plurality of code blocks; receive anindication to group code blocks of the plurality of code blocks of thetransport block for feedback reporting, wherein a first set of codeblocks of the plurality of code blocks are grouped into one or more codeblock groups comprising a first quantity of code blocks, wherein asecond set of code blocks of the plurality of code blocks are groupedinto one or more code block groups comprising a second quantity of codeblocks, wherein the first quantity of code blocks is different from thesecond quantity of code blocks, and wherein each code block groupcomprises a distinct subset of code blocks of the plurality of codeblocks and each code block group of the one or more code block groupscomprising the first quantity of code blocks comprises a same number ofcode blocks; and transmit an acknowledgement or negative-acknowledgementfor each code block group based at least in part on the indication.